草庐IT

c++ - CDT 定制构建

全部标签

c++ - 链接器说 _IsolationAwareLoadLibrary 未定义 - 有什么想法吗?

我在我的代码中添加了一些提升内容*,但链接阶段失败了:errorLNK2019:unresolvedexternalsymbol_IsolationAwareLoadLibraryA@4referencedinfunction"void*__cdeclboost::interprocess::winapi::load_library(charconst*)"(?load_library@winapi@interprocess@boost@@YAPAXPBD@Z)谁能帮我解决这个问题?kernel32.lib添加到链接器设置中。我搜索了_IsolationAwareLoadLibrary

c - 我可以在文件系统驱动程序中的 ZwCreateFile/InitializeObjectAttributes 中设置/检查用户定义的标志吗?

我正在Windows下开发文件系统驱动程序,我需要检查每个访问文件的文件属性。为此,我需要为每个文件执行额外的ZwCreateFile,但它会再次返回到我的调度例程。我可以使用InitializeObjectAttributes()或ZwCreateFile()设置哪些标志以便我可以稍后检查它以便我的过滤器可以绕过此类文件访问?谢谢。 最佳答案 已解决,尝试IoCreateFileSpecifyDeviceObjectHint、IoCreateFileEx或FtlCreateFile。

c - 如何捕获读写系统调用?

每当我尝试在我的pendrive上写任何东西时,都会生成一个写系统调用。我想要做的是,应该捕获这个写入调用,并且应该要求用户输入预先确定的密码(我可以在编码过程中自行定义)。请告诉我这是否可能?如果是,我应该怎么做? 最佳答案 WindowsDDK有一个在filesys\minifilter中Hook文件读取/写入/复制的示例,同时包含操作前和操作后回调,您应该为内核方面设置这些回调。对于gui部分,您需要一些东西来进行非阻塞旋转,直到驱动器发出事件信号,您可能还需要管道或映射内存View来传递数据

c - 使用 CreateProcess,无法获取 CREATE_NO_WINDOW 来抑制控制台

我想在不弹出控制台窗口的情况下启动一个进程(为简单起见,我们将使用记事本)。我确定我错过了一些非常简单的东西,这是我最简化的测试用例:#include#include#includevoid_tmain(intargc,TCHAR*argv[]){STARTUPINFOsi;PROCESS_INFORMATIONpi;ZeroMemory(&si,sizeof(si));si.cb=sizeof(si);ZeroMemory(&pi,sizeof(pi));//Startthechildprocess.if(!CreateProcess(NULL,//Nomodulename(usec

c - 绘画后 WM_PAINT 不显示

所以我正在绘制位图,这是我的代码:hdcMem=CreateCompatibleDC(hdc);SelectObject(hdcMem,g_hBitmap);GetObject(g_hBitmap,sizeof(bm),&bm);BitBlt(hdc,196-(bm.bmWidth/2),90,bm.bmWidth,bm.bmHeight,hdcMem,0,0,SRCCOPY);DeleteDC(hdcMem);有时,当我用这段代码绘制时,位图不显示。尽管如果我最小化/取消最小化窗口,则会显示位图。我很确定我的代码没有问题,那么我还应该做些什么吗?编辑:原来它不仅仅是位图,如果我用Te

c++ - 如何在exe文件中构建C++项目嵌入所有动态链接库?

各位,我正在开始开发一个C++项目,在这个项目中我必须使用一些开源项目有几个dll文件。然后我有一个问题“如何构建C++项目,将所有动态链接库嵌入到exe文件中?”感谢帮助!注意:抱歉,我忘了我在x86上使用visualstudio编译器 最佳答案 您的问题没有通用的答案。这取决于你是否需要它是跨平台的。但是,由于您提到“x86上的visualstudio编译器”,我敢打赌您的目标是Windows。在这种情况下,您有两种选择:官方推荐的方法:将您的dll作为资源嵌入到您的可执行文件中;然后当你的程序启动时,你将这些dll作为临时文件

调用 free 导致程序抛出异常

当我偶然发现以下问题时,我正在做作业。我应该使用C和WindowsAPI函数创建一个简单的多线程应用程序。每个线程都会运行一个简单的任务,所以我决定回收一些我做过的旧东西。我有一个头文件:http://pastebin.com/1aJFAwBg还有一个源文件:http://pastebin.com/L127FGhG然后在main中,我进行以下调用:LoadPoem();ProcessPoem();SavePoem();LoadPoem打开包含原始文件的文件,为输入分配一个缓冲区(变量loadedPoemBuffer)并将文件中的文本存储在其中。ProcessPoem然后为更改后的版本(

c - 从 dll 导出函数指针

我在一个dll文件中有一个函数指针(在实现中,而不是头文件中)。在exe源码中如何调用this指针指向的函数? 最佳答案 您可以导出返回指针的函数。header:typedefvoid(*MyPtr)();__declspec(dllexport)MyPtrGetMyPtr();来源:MyPtrGetMyPtr(){//retunrthefunctionpointerhere} 关于c-从dll导出函数指针,我们在StackOverflow上找到一个类似的问题:

c++ - 尝试从某个 COM 端口读取/写入时程序无法执行

我正在通过串行端口与宽带卡通信。我必须通过COM5读取GPS数据,并通过执行命令并读取COM3上的响应来获取信号强度。每当我尝试读取/写入COM3时,程序都无法执行。当我注释掉包含以下内容的行时:if(!WriteFile(hSerial2,wzBuff,7,&dZBytesRead,NULL))std::cout程序运行完美。完整代码如下:#include#include#include#include#include#includeusingnamespacestd;vectorfindLocation(stringstr,charcharacter);intmain(){time

windows - 如何通过 Win API 调用或(更好)读取注册表值来读取 Windows 构建版本

我们安装的系统偶尔会检测到错误的Windows版本。(它通过内置的Wise安装程序功能检测系统信息来检测版本,但没有说明它是如何做到这一点的)。因此,我正在寻找另一种检测Windows版本的方法。Wise安装程序调用WindowsAPI函数的能力非常有限,因此从注册表或特定文件中读取会更容易(当然,我必须将文件版本映射到Windows版本)。我找到了这个讨论帖:http://www.velocityreviews.com/forums/t513244-best-way-to-get-version-from-registry.html但它没有引用。所以我不确定它的可靠性如何。